package net.sansi.v3correctserver.service.camera;

import java.nio.file.Path;
import java.util.List;

/**
 * Created by Fang
 * create time : 2024/11/1
 * IDE : IntelliJ IDEA
 * <p>
 * 相机服务
 */

public interface CameraService {

    /**
     * 拍摄照片并返回图片路径
     *
     * @param params   相机参数
     * @param savePath 输出路径
     * @return 图片路径
     */
    Path takePhoto(Camera.Params params, Path savePath);

    /**
     * 拍摄照片并返回图片路径
     *
     * @param params   拍摄参数
     * @param savePath 保存路径
     * @param Camera   相机
     * @return 图片路径
     */
    Path takePhoto(Camera.Params params, Path savePath, Camera Camera);

    /**
     * 列出支持的所有相机列表
     *
     * @return 相机列表
     */
    List<String> listCameraNames();

    /**
     * 连接相机
     *
     * @param cameraName 相机名称
     */
    void connectCamera(String cameraName);
}
